import { CorpFormInfo } from "./corp/types";

/* 项目管理列表 */
export interface ProjectManagerListType {
  /* 项目ID */
  projectId?: number;

  /* 行业主管部门 */
  industryType?: number;

  /* 项目名称 */
  name?: string;

  /* 项目编号 数据来源平台项目编号 */
  prjNum?: string;

  /* 项目分类 */
  categoryName?: string;

  /*项目简介*/
  description?: string;

  /* 总投资，单位：（万元） */
  invest?: number;

  /**
   * 开工日期
   */
  startDate?: Date;

  /**
   * 项目地点
   */
  address?: string;

  /* 建设单位名称 */
  buildCorpName?: string;

  /* 建设单位ID */
  buildCorpId?: string;

  /* 建设单位统一社会信用代码，如果无统一社会信用代码，则填写组织机构代码 */
  buildCorpCode?: string;

  /* 项目审核状态 */
  auditStatus?: number;

  /* 创建数据的项目管理员ID */
  createManagerId?: number;
}

/* 新增项目 */
export interface ProjectManagerType {
  /* 项目ID */
  projectId?: number;

  /* 行业主管部门* */
  industryType?: number;

  /* 项目名称* */
  name?: string;

  /* 项目编号 数据来源平台项目编号* */
  prjNum?: string;

  /* 项目简介 */
  description?: string;

  /* 项目分类* */
  category?: number;

  /* 建设单位名称* */
  buildCorpName?: string;

  /* 建设单位统一社会信用代码，如果无统一社会信用代码，则填写组织机构代码* */
  buildCorpCode?: string;

  /* 建设用地规划许可证编号。AES */
  buildPlanNum?: string;

  /* 建设工程规划许可证编号。AES */
  prjPlanNum?: string;

  /* 项目所在地。参考行政区划字典表* */
  cityCode?: number;

  /* 项目所在地。参考行政区划字典表* */
  areaCode?: number;

  /* 总投资，单位：（万元）* */
  invest?: number;

  /* 总面积，单位：平方米 */
  buildingArea?: number;

  /* 总长度，单位：米 */
  buildingLength?: number;

  /* 开工日期，精确到天，格式：yyyy-MM- dd */
  startDate?: Date;

  /* 竣工日期，精确到 天，格式：yyyy-MM-dd */
  endDate?: Date;

  /* 联系人姓名* */
  linkMan?: string;

  /* 联系人办公电话* */
  linkPhone?: string;

  /* WGS84 纬度* */
  lat?: number;

  /* WGS84 经度* */
  lng?: number;

  /* 项目地点* */
  address?: string;

  /* 立项文号 */
  approvalNum?: string;

  /* 项目立项级别 */
  approvalLevel?: number;

  /* 项目建设规模类型 */
  sizeType?: number;

  /* 项目建设性质分类* */
  propertyNum?: number;

  /* 工程用途* */
  functionNum?: number;

  /* 项目资金来源* */
  fundsSource?: number;

  /* 对应《工程建设项目审批管理系统》项目代码。（如果有） */
  ggProjectCode?: string;

  /* 对应《工程建设项目审批管理系统》工程代码。（如果有） */
  ggEngineeringCode?: string;
}

/* 合并施工项目和项目新类型 */
export interface NewProjectManagerType {
  /**
   * 项目ID
   */
  projectId?: number;

  /**
   * 行业主管部门
   */
  industryType?: number;

  /**
   * 行业主管部门项目编号/住建：西藏自治区建筑市场监管平台项目编号
   */
  industryPrjNum?: string;

  /**
   * 项目名称
   */
  name?: string;

  /**
   * 项目编号 数据来源平台项目编号
   */
  prjNum?: string;

  /**
   * 是否有施工许可证
   */
  isBuilderLicence?: boolean;

  /**
   * 施工许可证编号
   */
  builderLicences?: string;

  /**
   * 施工许可证授权日期
   */
  builderLicencesGrantDate?: Date;

  /**
   * 施工许可证有效期
   */
  builderLicencesTermDate?: Date;

  /**
   * 项目简介
   */
  description?: string;

  /**
   * 项目分类。参见项目分类字典表
   */
  category?: number;

  /**
   * 建设单位ID
   */
  buildCorpId?: number;

  /**
   * 建设单位名称
   */
  buildCorpName?: string;

  /**
   * 建设单位统一社会信用代码，如果无统一社会信用代码，则填写组织机构代码
   */
  buildCorpCode?: string;

  /**
   * 建设用地规划许可证编号。AES
   */
  buildPlanNum?: string;

  /**建设单位联系电话 */
  buildPhoneNum?: string;

  /**
   * 建设工程规划许可证编号。AES
   */
  prjPlanNum?: string;

  /**
   * 项目所在城市。参考行政区划字典表
   */
  cityCode?: number;

  /**
   * 项目所在区县。参考行政区划字典表
   */
  areaCode?: number;

  /**
   * 项目所在省市。参考行政区划字典表
   */
  provinceCode?: number;

  /**
   * 总投资，单位：（万元）
   */
  invest?: number;

  /**
   * 总面积，单位：平方米
   */
  buildingArea?: number;

  /**
   * 总长度，单位：米
   */
  buildingLength?: number;

  /**
   * 开工日期，精确到天，格式：yyyy-MM- dd
   */
  startDate?: Date;

  /**
   * 竣工日期，精确到 天，格式：yyyy-MM-dd
   */
  endDate?: Date;

  /**
   * 联系人姓名
   */
  linkMan?: string;

  /**
   * 联系人办公电话
   */
  linkPhone?: string;

  /**
   * 项目状态。参考项目状态字典表
   */
  prjStatus?: number;

  /**
   * WGS84 纬度
   */
  lat?: number;

  /**
   * WGS84 经度
   */
  lng?: number;

  /**
   * 项目地点
   */
  address?: string;

  /**
   * 立项文号
   */
  approvalNum?: string;

  /**
   * 立项级别。参考立项级别字典表
   */
  approvalLevel?: number;

  /**
   * 建设规模。参考建设规模字典表
   */
  sizeType?: number;

  /**
   * 建设性质。参考建设性质分类字典表
   */
  propertyNum?: number;

  /**
   * 工程用途。参考工程用途字典表
   */
  functionNum?: number;

  /**
   * 工程建设项目资金来源的种类，详见代码表
   */
  fundsSource?: number;

  /**
   * 工程建设项目中标合同编号
   */
  letterAcceptanceNum?: string;

  /**
   * 招标标段编号
   */
  biddingSectionNum?: string;

  /**
   * 是否多地施工
   */
  isMultiConstruction?: boolean;

  /**
   * 是否有监理
   */
  hasSupervisor?: boolean;

  /**
   * 无监理内容
   */
  supervisorContent?: string;

  /**
   * 对应《工程建设项目审批管理系统》项目代码。（如果有）
   */
  ggProjectCode?: string;

  /**
   * 对应《工程建设项目审批管理系统》工程代码。（如果有）
   */
  ggEngineeringCode?: string;

  /**
   * 指工程建设项目中标合同价格，单位为元（不需要招投标的项目使用工程造价代替）
   */
  contractAmount?: number;

  /**
   * 指工程建设项目合同约定的项目开工日期
   */
  contractStartDate?: Date;
  /**
   * 指工程建设项目合同约定的项目开工日期
   */
  contractEndDate?: Date;
  /**
   * 是否树立维权告示牌
   */
  hasSafeGuardingBoard?: boolean;
  /**
   * 指工程建设项目是否有工程款支付担保
   */
  hasEarnestMoney?: boolean;
  /**
   * 担保单位名称
   */
  earnestUnitName?: string;
  /**
   * 担保金额
   */
  earnestMoney?: number;
  /**
   * 担保开始日期
   */
  earnestStartDate?: Date;
  /**
   * 担保结束日期
   */
  earnestEndDate?: Date;
  /**
   * 总包企业Id
   */
  lumpContractorCorpid?: number;
  /**
   * 总包企业联系电话
   */
  lumpContractorCorpPhoneNum?: string;
  /**
   * 监理企业id
   */
  supervisorCorpId?: number;
  /**
   * 总包企业名称
   */
  lumpContractorCorpName?: string;
  /**
   * 总包企业社会信用代码
   */
  lumpContractorCorpCode?: string;
  /**
   * 监理企业名称
   */
  supervisorCorpName?: string;
  /**
   * 监理企业社会信用代码
   */
  supervisorCorpCode?: string;
  /**
   * 入场时间
   */
  supervisorCorpStartDate?: string;

  /**
   * 监理企业合同结束日期
   */
  supervisorCorpEndDate?: string;
  /**
   * 监理企业合同金额
   */
  supervisorCorpAmount?: number;
  /**
   * 监管单位
   */
  deptId?: number;
  //附件Ids
  attachments?: Array<string>;
  positionAttachments?: Array<string>;
  noSupervisorAttachments?: Array<string>;
  /**
   * 指挥部id
   */
  commanderId?: number;
  positionCount: number;
}

/**
 * 参建企业列表
 */
export interface ProjectUnitListFrom {
  /**
   * 参建企业名称
   */
  projectName?: string;

  /**
   * 参建企业类型
   */
  roleName?: string;

  /**
   * 企业联系人
   */
  linkMan?: string;

  /**
   * 企业联系人电话
   */
  linkTel?: string;

  /**
   * 与总包签订合同金额(元)
   */
  contractAmount?: number;

  /**
   * 创建时间
   */
  createTime?: Date;
}

/**
 * 参建企业新增/修改
 */
export interface ProjectUnitFrom {
  /**
   * 主键
   */
  id?: number;

  /**
   * 项目ID
   */
  projectId?: number;

  /**
   * 企业ID
   */
  corpId?: number;

  /**
   * 项目参加企业类型
   */
  role?: number;

  /**
   * 与总包签订合同金额(元)
   */
  contractAmount?: number;

  /**
   * 企业名称
   */
  corpName?: string;

  /**
   * 企业信息
   */
  corpInfo?: CorpFormInfo;
}

/**
 * 现场管理人员列表
 */
export interface ProjectPersonListForm {
  /**
   * id
   */
  id?: number;

  /**
   * 名称
   */
  projectName?: string;

  /**
   * 参建企业类型
   */
  roleName?: string;

  /**
   * 企业联系人
   */
  linkMan?: string;

  /**
   * 企业联系人电话
   */
  linkTel?: string;

  /**
   * 人员姓名
   */
  personName?: string;

  /**
   * 参建企业名称
   */
  projectCorpName?: string;

  /**
   * 创建时间
   */
  createTime?: Date;
}

/**
 * 现场管理人员信息
 */
export interface ProjectPersonForm {
  /**
   * 主键
   */
  id?: number;

  /**
   * 项目ID
   */
  projectId?: number;

  /**
   * 企业ID
   */
  corpId?: number;

  /**
   * 行业主管部门
   */
  role?: number;

  /**
   * 人员ID
   */
  personId?: number;

  /**
   * 企业名称
   */
  corpName?: string;

  /**
   * 人员名称
   */
  personName?: string;
}

/**
 * 班组列表
 */
export interface ProjectTeamListForm {
  /**
   * 项目名称
   */
  projectName?: string;

  /**
   * 班组名称
   */
  name?: string;

  /**
   * 参建企业
   */
  corpName?: string;

  /**
   * 创建时间
   */
  createTime?: Date;

  /**
   * 进场日期
   */
  startDate?: Date;

  /**
   * 出场日期
   */
  endDate?: Date;
}

/**
 * 班组信息
 */
export interface ProjectTeamForm {
  /**
   * 班组ID
   */
  groupId?: number;

  /**
   * 项目ID
   */
  projectId?: number;

  /**
   * 项目参建企业Id
   */
  projectCorpId?: number;

  /**
   * 班组名称
   */
  name?: string;

  /**
   * 进场日期
   */
  startDate?: Date;

  /**
   * 出场日期
   */
  endDate?: Date;
}

/**
 * 班组成员列表
 */
export interface ProjectTeamMemberListForm {
  /**
   * 班组名称
   */
  groupName?: string;

  /**
   * 人员名称
   */
  personName?: string;

  /**
   * 当前工种
   */
  typeName?: string;

  /**
   * 工人类型
   */
  roleName?: string;

  /**
   * 是否班组长
   */
  isLeader?: boolean;

  /**
   * 管理岗位
   */
  manageTypeName?: string;

  /**
   * 开始工作日期
   */
  workDate?: Date;

  /**
   * 创建时间
   */
  createTime?: Date;

  /**
   * 发卡时间
   */
  issueCardDate?: Date;
}

/**
 * 班组成员信息
 */
export interface ProjectTeamMemberForm {
  /**
   * id
   */
  id?: number;

  /**
   * 班组ID
   */
  groupId?: number;

  /**
   * 人员ID
   */
  personId?: number;

  /**
   * 工人工种
   */
  type?: number;
  // Enum:
  // Array [ 39 ]

  /**
   * 工人类型
   */
  role?: number;
  // Enum:
  // Array [ 2 ]

  /**
   * 是否班组长 参考是否字典表
   */
  isLeader?: boolean;

  /**
   * 管理岗位类型
   */
  manageType?: number;
  // Enum:
  // Array [ 33 ]

  /**
   * 开始工作日期
   */
  workDate?: Date;

  /**
   * 发卡时间
   */
  issueCardDate?: Date;

  /**
   * 办卡采集相片
   */
  issueCardPic?: string;

  /**
   * 人员工资卡ID
   */
  personBankId?: number;
}

/**
 * 专户列表
 */
export interface ProjectAccountListForm {
  /**
   * id
   */
  id?: number;

  /**
   * 流水号
   */
  serialNumber?: string;

  /**
   * 项目ID
   */
  projectId?: number;

  /**
   * 账户名称
   */
  bankType?: string;

  /**
   * 银行地址
   */
  bankAddress?: string;

  /**
   * 银行账号
   */
  bankNo?: string;

  /**
   * 户名
   */
  username?: string;

  /**
   * 工资专户余额(元)
   */
  balance?: number;

  /**
   * 状态(1 申请中, 2 已办结)
   */
  statusName?: string;

  /**
   * 申请时间
   */
  createTime?: Date;

  /**
   * 办理时间
   */
  handlingTime?: Date;
}

/**
 * 专户信息
 */
export interface ProjectAccountForm {
  /**
   * id
   */
  id?: number;

  /**
   * 流水号
   */
  serialNumber?: string;

  /**
   * 账户名称
   */
  bankType?: string;

  /**
   * 银行地址
   */
  bankAddress?: string;

  /**
   * 户名
   */
  username?: string;

  /**
   * 工资专户余额(元)
   */
  balance?: number;
}

/**
 * 根据身份证号获取人员信息
 */
export interface PersonInfoByCardIdForm {
  person?: personInfoForm;
  groupPullDowns?: Array<pulldownForm>;
}

/**
 * 人员信息列表
 */
export interface PersonInfoListForm {
  personInfo?: personInfoList;
  projectGroupMember?: projectGroupMemberList;
}

/**
 * 人员信息登记
 */
export interface PersonInfoInForm {
  person?: personInfoForm;
  member?: teamInfoForm;
}

interface projectGroupMemberList {
  /**
   * ID
   */
  id?: number;

  /**
   * 班组名称
   */
  groupName?: string;

  /**
   * 人员名称
   */
  personName?: string;

  /**
   * 当前工种
   */
  typeName?: string;

  /**
   * 工人类型
   */
  roleName?: string;

  /**
   * 是否班组长
   */
  isLeader?: boolean;

  /**
   * 管理岗位
   */
  manageTypeName?: string;

  /**
   * 开始工作日期
   */
  workDate?: Date;

  /**
   * 创建时间
   */
  createTime?: Date;

  /**
   * 进场时间
   */
  startDate?: Date;

  /**
   * 出场时间
   */
  endDate?: Date;

  /**
   * 发卡时间
   */
  issueCardDate?: Date;

  /**
   * 人员状态名称
   */
  statusName?: string;

  /**
   * 人员状态名称
   */
  status?: number;
}

interface personInfoList {
  /**
   * 人员ID
   */
  personId?: number;

  /**
   * 企业ID
   */
  corpId?: number;

  /**
   * 人员姓名
   */
  name?: string;

  /**
   * 身份证号
   */
  cardNumber?: string;

  /**
   * 性别
   */
  gender?: number;

  /**
   * 出生日期
   */
  birthday?: Date;

  /**
   * 婚姻状况 参考婚姻状况字典表
   */
  maritalStatus?: number;

  /**
   * 发证机关
   */
  cardOrg?: string;

  /**
   * 手机号码
   */
  mobile?: string;

  /**
   * 身份证上民族信息，如：汉，回，藏等
   */
  nation?: string;

  /**
   * 住址
   */
  address?: string;

  /**
   * 政治面貌 参考政治面貌字典表
   */
  politicsType?: number;

  /**
   * 加入工会时间。如果加入工会，此字段必填
   */
  joinedTime?: Date;

  /**
   * 是否购买工伤或意外伤害保险 。参考是否字典表
   */
  hasBuyInsurance?: number;

  /**
   * 是否有重大病史。参考是否字典表
   */
  hasBadMedicalHistory?: number;

  /**
   * 创建日期
   */
  createTime?: Date;
}

interface personInfoForm {
  personId?: number;
  name?: string;
  cardNumber?: string;
  gender?: number;
  birthday?: string;
  cardOrg?: string;
  cardStartdate?: string;
  cardEnddate?: string;
  maritalStatus?: number;
  urgentLinkman?: string;
  urgentLinkmanHone?: string;
  specialty?: string;
  cultureLevel?: number;
  mobile?: string;
  nation?: string;
  address?: string;
  politicsType?: number;
  joinedTime?: string;
  hasBuyInsurance?: number;
  hasBadMedicalHistory?: number;
}

interface teamInfoForm {
  id?: number;
  groupId?: number;
  personId?: number;
  type?: number;
  role?: number;
  isLeader?: boolean;
  manageType?: number;
  workDate?: Date;
  issueCardDate?: Date;
  issueCardPic?: string;
  personBankId?: number;
  startDate?: Date;
  endDate?: Date;
  status?: number;
}

interface pulldownForm {
  label?: string;
  value?: number;
  extend?: number;
}

/**
 * 人员银行信息列表
 */
export interface PersonBankListForm {
  /**
   * 主键
   */
  id?: number;

  /**
   * 人员ID
   */
  personId?: number;

  /**
   * 发放工资银行卡号
   */
  cardNo?: string;

  /**
   * 发放工资银行名称
   */
  bankName?: string;

  /**
   * 发放工资卡银行联号
   */
  bankLinkNo?: string;

  /**
   * 发放工资卡银行 参考银行代码字典表
   */
  bankCode?: string;

  /**
   * 创建时间
   */
  createTime?: Date;
}

/**
 * 人员银行信息列表
 */
export interface PersonBankForm {
  /**
   * 主键
   */
  id?: number;

  /**
   * 人员ID
   */
  personId?: number;

  /**
   * 发放工资银行卡号
   */
  cardNo?: string;

  /**
   * 发放工资银行名称
   */
  bankName?: string;

  /**
   * 发放工资卡银行联号
   */
  bankLinkNo?: string;

  /**
   * 发放工资卡银行 参考银行代码字典表
   */
  bankCode?: string;

  /**
   * 银行地址
   */
  bankAddress?: string;
}

/**
 * 考勤明细列表
 */
export interface AttendanceListForm {
  /**
   * 主键
   */
  id?: number;
  memberId?: number;
  /**
   * 人员名称
   */
  personName?: string;

  /**
   * 考勤状态
   */
  statusName?: string;

  /**
   * 进出标识
   */
  entryExitMarkName?: string;

  /**
   * 数据来源
   */
  dataSourcesName?: string;

  /**
   * 班组名称
   */
  groupName?: string;

  /**
   * 开始用工日期
   */
  startDate?: Date;

  /**
   * 结束用工日期
   */
  endDate?: Date;

  /**
   * 创建日期
   */
  createTime?: Date;

  /**
   * 考勤日期
   */
  checkinDate?: Date;

  corpName?: string;
  corpTypeName?: string;
  workTypeName?: string;
  projectName?: string;
}

/**
 * 工资单信息
 */
export interface PayrollForm {
  /**
   * 主键
   */
  id?: number;

  /**
   * 项目Id
   */
  projectId?: number;

  /**
   * 企业id
   */
  corpId?: number;

  /**
   * 企业名称
   */
  corpName?: string;

  /**
   * 流水号
   */
  serialNumber?: string;

  /**
   * 工资单名称
   */
  name?: string;

  /**
   * 工资支付模式
   */
  payType?: number;

  /**
   * 代发月份
   */
  month?: Date;
}

/**
 * 工资单信息
 */
export interface PayrollListForm {
  /**
   * 主键
   */
  id?: number;

  /**
   * 项目Id
   */
  projectId?: number;

  /**
   * 企业id
   */
  projectCorpId?: number;

  /**
   * 流水号
   */
  serialNumber?: string;

  /**
   * 审核类型
   */
  auditType?: number;

  /**
   * 审核状态
   */
  auditStatus?: number;

  /**
   * 工资单名称
   */
  name?: string;

  /**
   * 工资支付类型
   */
  payType?: number;

  /**
   * 支付方式名称
   */
  payTypeName?: string;

  /**
   * 代发月份
   */
  month?: Date;

  /**
   * 专户id
   */
  specialAccountId?: number;

  /**
   * 申请发放金额
   */
  amountApplied?: number;

  /**
   * 录入人数
   */
  numberPeople?: number;

  /**
   * 代发总金额
   */
  totalAmount?: number;

  /**
   * 成功金额
   */
  successfulAmount?: number;

  /**
   * 失败金额
   */
  failureAmount?: number;

  /**
   * 创建时间
   */
  createTime?: Date;
}

/**
 * 工资单明细信息
 */
export interface PayrollDetailForm {
  /**
   * 自动生成Id,前端使用
   */
  uid?: string;

  /**
   * 项目名称
   */
  projectName?: string;

  /**
   * 班组名称
   */
  groupName?: string;

  /**
   * 人员姓名
   */
  personName?: string;

  /**
   * 人员身份证号码
   */
  idCard?: string;

  /**
   * 银行卡号
   */
  personBankNo?: string;

  /**
   * 开户行名称
   */
  bankName?: string;

  /**
   * 考勤天数
   */
  attendanceDays?: number;

  /**
   * 申请金额
   */
  amountApplied?: number;
}

/* 页面请求参数 */
export interface ParamsType {
  pageIndex?: number;
  pageSize?: number;
  keywords?: string;
  cityCode?: number;
  areaCode?: number;
}

/**
 * 保证金表单
 */
export interface SecurityDepositListForm {
  id?: number;
  serialNumber: string;
  projectId?: number;
  name?: string;
  code?: string;
  identifying?: boolean;
  isRefund?: boolean;
  refundAmount?: number;
  refundDate?: Date;
  refundCorpName?: string;
  refundCorpCode?: string;
  instrumentNumber?: string;
}

export interface SecurityDepositForm {
  id?: number;
  serialNumber: string;
  projectId?: number;
  name?: string;
  code?: string;
  identifying?: boolean;
  isRefund?: boolean;
  refundAmount?: number;
  refundDate?: Date;
  refundCorpName?: string;
  refundCorpCode?: string;
  instrumentNumber?: string;
}

export interface SecurityDepositRecordsListForm {
  id?: number;
  /// <summary>
  /// 保证金账户id
  ///</summary>
  securityDepositId?: number;
  serialNumber?: string;
  /// <summary>
  /// 收支编号
  ///</summary>
  code?: string;
  /// <summary>
  /// 项目id
  ///</summary>
  projectId?: number;
  /// <summary>
  /// 收支类型(进账,出账)
  ///</summary>
  incomeType?: number;
  incomeTypeName?: string;
  ///<summary>
  ///交易类型
  ///</summary>
  tradingType?: number;
  tradingTypeName?: string;
  /// <summary>
  /// 缴存类型(按预设比例缴存,免除保证金,减少保证金应交金额,缓缴保证金,增加保证金应缴金额)
  ///</summary>
  depositeType?: number;
  depositeTypeName?: string;
  /// <summary>
  /// 缓存起始日期
  ///</summary>
  depositeStartDate?: Date;
  /// <summary>
  /// 差异化缓存金额
  ///</summary>
  differentiatedCacheAmount?: number;
  /// <summary>
  /// 收支方式(现金,银行保函,工程担保公司保函,工程保证保险,其它)
  ///</summary>
  incomeWay?: number;
  incomeWayName?: string;
  /// <summary>
  /// 应缴金额
  ///</summary>
  amountPayable?: number;
  /// <summary>
  /// 已缴纳金额
  ///</summary>
  paidAmount?: number;
  /// <summary>
  /// 工资保证金开户银行
  ///</summary>
  bankName?: string;
  /// <summary>
  /// 工资保证金银行账号
  ///</summary>
  bankNumber?: string;
  /// <summary>
  /// 现金金额
  ///</summary>
  cashAmount?: string;
  /// <summary>
  /// 担保银行名称
  ///</summary>
  guaranteeBankName?: string;
  /// <summary>
  /// 银行保函涵号
  ///</summary>
  bankGuaranteeNumber?: string;
  /// <summary>
  /// 银行保函担保金额
  ///</summary>
  bankGuaranteeAmount?: number;
  /// <summary>
  /// 银行保函有效期起始日期
  ///</summary>
  bankGuaranteeStartDate?: Date;
  /// <summary>
  /// 银行保函有效期终止日期
  ///</summary>
  bankGuaranteeEndDate?: Date;
  /// <summary>
  /// 工程担保公司名称
  ///</summary>
  guaranteeCompanyName?: string;
  /// <summary>
  /// 工程担保公司保函涵号
  ///</summary>
  guaranteeCompanyNumber?: string;
  /// <summary>
  /// 工程担保公司担保金额
  ///</summary>
  guaranteeCompanyAmount?: number;
  /// <summary>
  /// 工程担保公司保函有效起始日期
  ///</summary>
  guaranteeCompanyStartDate?: Date;
  /// <summary>
  /// 工程担保公司保函有效终止日期
  ///</summary>
  guaranteeCompanyEndDate?: Date;
  /// <summary>
  /// 保险公司名称
  ///</summary>
  insuranceCompanyName?: string;
  /// <summary>
  /// 保险单号
  ///</summary>
  insuranceNumber?: string;
  /// <summary>
  /// 保单金额
  ///</summary>
  insuranceAmount?: number;
  /// <summary>
  /// 保险有效期起始日期
  ///</summary>
  insuranceStartDate?: Date;
  /// <summary>
  /// 保险有效期终止日期
  ///</summary>
  insuranceEndDate: Date;
  /// <summary>
  /// 其他金额
  ///</summary>
  otherAmount: number;
  /// <summary>
  /// 收支日期
  ///</summary>
  recordsDate: Date;
  /// <summary>
  /// 创建时间
  ///</summary>
  createTime: Date;
}

export interface SecurityDepositRecordsForm {
  id?: number;
  /// <summary>
  /// 保证金账户id
  ///</summary>
  securityDepositId?: number;
  serialNumber?: string;
  /// <summary>
  /// 收支编号
  ///</summary>
  code?: string;
  /// <summary>
  /// 项目id
  ///</summary>
  projectId?: number;
  /// <summary>
  /// 收支类型(进账,出账)
  ///</summary>
  incomeType?: number;
  tradingType?: number;
  /// <summary>
  /// 缴存类型(按预设比例缴存,免除保证金,减少保证金应交金额,缓缴保证金,增加保证金应缴金额)
  ///</summary>
  depositeType?: number;
  /// <summary>
  /// 缓存起始日期
  ///</summary>
  depositeStartDate?: Date;
  /// <summary>
  /// 差异化缓存金额
  ///</summary>
  differentiatedCacheAmount?: number;
  /// <summary>
  /// 收支方式(现金,银行保函,工程担保公司保函,工程保证保险,其它)
  ///</summary>
  incomeWay?: number;
  /// <summary>
  /// 应缴金额
  ///</summary>
  amountPayable?: number;
  /// <summary>
  /// 已缴纳金额
  ///</summary>
  paidAmount?: number;
  /// <summary>
  /// 工资保证金开户银行
  ///</summary>
  bankName?: string;
  /// <summary>
  /// 工资保证金银行账号
  ///</summary>
  bankNumber?: string;
  /// <summary>
  /// 现金金额
  ///</summary>
  cashAmount?: string;
  /// <summary>
  /// 担保银行名称
  ///</summary>
  guaranteeBankName?: string;
  /// <summary>
  /// 银行保函函号
  ///</summary>
  bankGuaranteeNumber?: string;
  /// <summary>
  /// 银行保函担保金额
  ///</summary>
  bankGuaranteeAmount?: number;
  /// <summary>
  /// 银行保函有效期起始日期
  ///</summary>
  bankGuaranteeStartDate?: Date;
  /// <summary>
  /// 银行保函有效期终止日期
  ///</summary>
  bankGuaranteeEndDate?: Date;
  /// <summary>
  /// 工程担保公司名称
  ///</summary>
  guaranteeCompanyName?: string;
  /// <summary>
  /// 工程担保公司保函涵号
  ///</summary>
  guaranteeCompanyNumber?: string;
  /// <summary>
  /// 工程担保公司担保金额
  ///</summary>
  guaranteeCompanyAmount?: number;
  /// <summary>
  /// 工程担保公司保函有效起始日期
  ///</summary>
  guaranteeCompanyStartDate?: Date;
  /// <summary>
  /// 工程担保公司保函有效终止日期
  ///</summary>
  guaranteeCompanyEndDate?: Date;
  /// <summary>
  /// 保险公司名称
  ///</summary>
  insuranceCompanyName?: string;
  /// <summary>
  /// 保险单号
  ///</summary>
  insuranceNumber?: string;
  /// <summary>
  /// 保单金额
  ///</summary>
  insuranceAmount?: number;
  /// <summary>
  /// 保险有效期起始日期
  ///</summary>
  insuranceStartDate?: Date;
  /// <summary>
  /// 保险有效期终止日期
  ///</summary>
  insuranceEndDate: Date;
  /// <summary>
  /// 其他金额
  ///</summary>
  otherAmount: number;
  /// <summary>
  /// 收支日期
  ///</summary>
  recordsDate: Date;
}

export interface SecurityDepositPaymentDetailsListForm {
  id?: number;
  /// <summary>
  /// 项目id
  ///</summary>
  projectId?: number;
  /// <summary>
  /// 收支编号
  ///</summary>
  code?: number;
  /// <summary>
  /// 收支方式(现金,银行保函,工程担保公司保函,工程保证保险,其它)
  ///</summary>
  incomeWay?: number;
  incomeWayName?: string;
  /// <summary>
  /// 保函（险）单号
  ///</summary>
  insurancePolicyNumbe?: string;
  /// <summary>
  /// 务工人员公民身份号码
  ///</summary>
  cardNumber?: string;
  /// <summary>
  /// 务工人员姓名
  ///</summary>
  personName?: string;
  /// <summary>
  /// 工资支付金额
  ///</summary>
  payAmount?: number;
  /// <summary>
  /// 工资支付方式(现金,银行卡,社会保障卡,其他)
  ///</summary>
  payType?: number;
  payTypeName?: string;
  /// <summary>
  /// 支出日期
  ///</summary>
  expenditure?: Date;
  /// <summary>
  /// 创建时间
  ///</summary>
  createTime?: Date;
}

export interface SecurityDepositPaymentDetailsForm {
  id?: number;
  /// <summary>
  /// 项目id
  ///</summary>
  projectId?: number;
  /// <summary>
  /// 收支编号
  ///</summary>
  code?: number;
  /// <summary>
  /// 收支方式(现金,银行保函,工程担保公司保函,工程保证保险,其它)
  ///</summary>
  incomeWay?: number;
  incomeWayName?: string;
  /// <summary>
  /// 保函（险）单号
  ///</summary>
  insurancePolicyNumbe?: string;
  /// <summary>
  /// 务工人员公民身份号码
  ///</summary>
  cardNumber?: string;
  /// <summary>
  /// 务工人员姓名
  ///</summary>
  personName?: string;
  /// <summary>
  /// 工资支付金额
  ///</summary>
  payAmount?: number;
  /// <summary>
  /// 工资支付方式(现金,银行卡,社会保障卡,其他)
  ///</summary>
  payType?: number;
  payTypeName?: string;
  /// <summary>
  /// 支出日期
  ///</summary>
  expenditure?: Date;
}
